
function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}

function repeat(s, n) {
	if (!n) return "";
	if (n & 1) return repeat(s, n-1) + s;
	var t = repeat(s, n>>1);
	return t + t;
}


function moneyToFloat(str) {
	var	value = replaceAll(str, '.', '');
	value = replaceAll(value, ',', '.');
	return parseFloat(value);
}

/** Arguments: number to round, number of decimal places */
function roundNumber(rnum, rlength) {
	return Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
}

function floatToMoney(num) {
	x = 0;
	if(num<0) {
		num = Math.abs(num);
		x = 1;
	}

	if(isNaN(num)) num = "0";
	cents = Math.floor((num*100+0.5)%100);
	num = Math.floor((num*100+0.5)/100).toString();

	if(cents < 10) cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
		
	ret = num + ',' + cents;
	if (x == 1) ret = ' - ' + ret;return ret;
}

